package main

type Integer int;//自定义类型
func (a Integer) Less(b Integer) bool{
	return a<b
}
/*①行时，会自动生成，因为不会改变结果
func (a *Integer) Less(b Integer) bool{
	return a<b
}
*/
func (a *Integer)Add(b Integer){
	*a+=b
}
/*当是②的时候，是不会增加以下方法的，以为不会修改值a，不符合用户预期
func (a Integer)Add(b Integer){
	a+=b
}*/
type LessAdder interface {
	Less(b Integer) bool
	Add(b Integer)
}

func main() {
	var a Integer=1
	var b LessAdder=&a   //①
	//var c LessAdder=a  //②
}